<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Microsoft.Kinect.Toolkit.FaceTracking</name>
    </assembly>
    <members>
        <member name="T:Microsoft.Kinect.Toolkit.FaceTracking.FaceModel">
            <summary>
            FaceModel interface provides a way to read 3D model parameters or to transform loaded 3D model used by the 
            face tracker from the model space to the camera/world space
            </summary>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.FaceModel.Get3DShape(Microsoft.Kinect.Toolkit.FaceTracking.FaceTrackFrame)">
            <summary>
            Gets the 3D shape associated with the result
            </summary>
            <param name="faceTrackFrame">
            result object
            </param>
            <returns>
            the 3d shape
            </returns>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.FaceModel.GetTriangles">
            <summary>
            Get the Mesh triangles
            </summary>
            <returns>
            The face mesh triangles
            </returns>
        </member>
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.FaceModel.VertexCount">
            <summary>
            Count of 3D vertices and 2d projected vertices
            </summary>
        </member>
        <member name="T:Microsoft.Kinect.Toolkit.FaceTracking.FaceTracker">
            <summary>
            Main class that instantiates the face tracking engine and tracks the faces of a single person
            retrieving various metrics like animation units, 3D points and triangles on the face.
            </summary>
        </member>
        <member name="F:Microsoft.Kinect.Toolkit.FaceTracking.FaceTracker.DefaultZoomFactor">
            <summary>
            A constant zoom factor is used for now, since Windows Kinect does not support
            different zoom levels.
            </summary>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.FaceTracker.#ctor(Microsoft.Kinect.KinectSensor)">
            <summary>
            Initializes a new instance of the FaceTracker class from a reference of the Kinect device.
            <param name="sensor">Reference to kinect sensor instance</param>
            </summary>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.FaceTracker.Finalize">
            <summary>
            Finalizes an instance of the FaceTracker class
            </summary>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.FaceTracker.Dispose">
            <summary>
            Disposes of the face tracking engine
            </summary>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.FaceTracker.ResetTracking">
            <summary>
            Resets IFTFaceTracker instance to the clean state (like it is in right after the call 
            to Initialize() method)
            </summary>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.FaceTracker.Track(Microsoft.Kinect.ColorImageFormat,System.Byte[],Microsoft.Kinect.DepthImageFormat,System.Int16[],Microsoft.Kinect.Skeleton)">
            <summary>
            Starts face tracking from Kinect input data. Track() detects a face
            based on the passed parameters, then identifies characteristic
            points and begins tracking. The first call to this API is more
            expensive, but if the tracking succeeds then subsequent calls use
            the tracking information generated from first call and is faster,
            until a tracking failure happens. 
            </summary>
            <param name="colorImageFormat">format of the colorImage array</param>
            <param name="colorImage">Input color image frame retrieved from Kinect sensor</param>
            <param name="depthImageFormat">format of the depthImage array</param>
            <param name="depthImage">Input depth image frame retrieved from Kinect sensor</param>
            <param name="skeletonOfInterest">Input skeleton to track. Head and shoulder joints in the skeleton are used to calculate the head vector</param>
            <returns>Returns computed face tracking results for this image frame</returns>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.FaceTracker.Track(Microsoft.Kinect.ColorImageFormat,System.Byte[],Microsoft.Kinect.DepthImageFormat,System.Int16[],Microsoft.Kinect.Toolkit.FaceTracking.Rect)">
            <summary>
            Starts face tracking from Kinect input data. Track() detects a face
            based on the passed parameters, then identifies characteristic
            points and begins tracking. The first call to this API is more
            expensive, but if the tracking succeeds then subsequent calls use
            the tracking information generated from first call and is faster,
            until a tracking failure happens. 
            </summary>
            <param name="colorImageFormat">
            format of the colorImage array
            </param>
            <param name="colorImage">
            Input color image frame retrieved from Kinect sensor
            </param>
            <param name="depthImageFormat">
            format of the depthImage array
            </param>
            <param name="depthImage">
            Input depth image frame retrieved from Kinect sensor
            </param>
            <param name="regionOfInterest">
            Region of interest in the passed video frame where the face tracker should search for a face to initiate tracking. 
            Passing Rectangle.Empty (default) causes the entire frame to be searched.
            </param>
            <returns>
            Returns computed face tracking results for this image frame
            </returns>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.FaceTracker.Track(Microsoft.Kinect.ColorImageFormat,System.Byte[],Microsoft.Kinect.DepthImageFormat,System.Int16[])">
            <summary>
            Starts face tracking from Kinect input data. Track() detects a face
            based on the passed parameters, then identifies characteristic
            points and begins tracking. The first call to this API is more
            expensive, but if the tracking succeeds then subsequent calls use
            the tracking information generated from first call and is faster,
            until a tracking failure happens. 
            </summary>
            <param name="colorImageFormat">
            format of the colorImage array
            </param>
            <param name="colorImage">
            Input color image frame retrieved from Kinect sensor
            </param>
            <param name="depthImageFormat">
            format of the depthImage array
            </param>
            <param name="depthImage">
            Input depth image frame retrieved from Kinect sensor
            </param>
            <returns>
            Returns computed face tracking results for this image frame
            </returns>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.FaceTracker.CreateResult(System.Int32@)">
            <summary>
            Creates a frame object instance. Can be used for caching of the face tracking
            frame. FaceTrackFrame should be disposed after use.
            </summary>
            <returns>
            newly created frame object
            </returns>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.FaceTracker.Dispose(System.Boolean)">
            <summary>
            Allows calling dispose explicitly or from the finalizer
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources</param>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.FaceTracker.GetHeadPointsFromSkeleton(Microsoft.Kinect.Skeleton)">
            <summary>
            Helper API to retrieve head points structure from a given skeleton instance
            </summary>
            <param name="skeletonOfInterest">
            skeleton from which head points are to be extracted
            </param>
            <returns>
            HeadPoints that can be passed to Start/Continue tracking APIs
            </returns>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.FaceTracker.DepthToColorCallback(System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.Single,Microsoft.Kinect.Toolkit.FaceTracking.Point,System.Int32,System.Int32,System.UInt16,System.Int32@,System.Int32@)">
            <summary>
            Callback to help with mapping depth pixel to color pixel data. Uses Kinect sensor's MapDepthToColorImagePoint to 
            do the conversion
            </summary>
            <returns>
            The depth to color callback.
            </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Microsoft.Kinect.Toolkit.FaceTracking.FaceTracker.Initialize(Microsoft.Kinect.Toolkit.FaceTracking.CameraConfig,Microsoft.Kinect.Toolkit.FaceTracking.CameraConfig,System.IntPtr,System.IntPtr,Microsoft.Kinect.Toolkit.FaceTracking.FaceTrackingRegisterDepthToColor)" -->
        <!-- Badly formed XML comment ignored for member "M:Microsoft.Kinect.Toolkit.FaceTracking.FaceTracker.Track(Microsoft.Kinect.ColorImageFormat,System.Byte[],Microsoft.Kinect.DepthImageFormat,System.Int16[],Microsoft.Kinect.Skeleton,Microsoft.Kinect.Toolkit.FaceTracking.Rect)" -->
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.FaceTracker.FaceModel">
            <summary>
            Returns reference to FaceModel class for the loaded face model.
            </summary>
        </member>
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.FaceTracker.Stopwatch">
            <summary>
            Stopwatch associated with the tracker
            </summary>
        </member>
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.FaceTracker.TotalTracks">
            <summary>
            Total number of tracking operations handled by the tracker
            </summary>
        </member>
        <member name="T:Microsoft.Kinect.Toolkit.FaceTracking.FaceTrackFrame">
            <summary>
            Class represent face tracking results for a frame
            </summary>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.FaceTrackFrame.Clone">
            <summary>
            Creates a deep copy clone. Copies all data from this instance to another instance of FaceTrackFrame. 
            Both instances must be created by the same face tracker instance.
            </summary>
            <returns>
            The clone.
            </returns>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.FaceTrackFrame.Dispose">
            <summary>
            Disposes this instance and clears the native resources allocated
            </summary>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.FaceTrackFrame.Get3DShape">
            <summary>
            Returns the 3D face model vertices transformed by the passed Shape Units, Animation Units, scale stretch, rotation and translation
            </summary>
            <returns>
            Returns 3D shape
            </returns>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.FaceTrackFrame.GetAnimationUnitCoefficients">
            <summary>
            Returns Animation Units (AUs) coefficients. These coefficients represent deformations 
            of the 3D mask caused by the moving parts of the face (mouth, eyebrows, etc). Use the 
            AnimationUnit enum to index these co-efficients
            </summary>
            <returns>
            The get animation unit coefficients.
            </returns>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.FaceTrackFrame.GetProjected3DShape">
            <summary>
            Returns the 3D face model vertices transformed by the passed Shape Units, Animation Units, scale stretch, rotation and translation and
            projected to the video frame
            </summary>
            <returns>
            Returns projected 3D shape
            </returns>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.FaceTrackFrame.GetTriangles">
            <summary>
            Get the Mesh triangles for the 3D Face Model
            </summary>
            <returns>
            Returns the face triangles
            </returns>
        </member>
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.FaceTrackFrame.FaceRect">
            <summary>
            Face rectangle in video frame coordinates
            </summary>
        </member>
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.FaceTrackFrame.Rotation">
            <summary>
            Rotation around X, Y, Z axes
            </summary>
        </member>
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.FaceTrackFrame.TrackSuccessful">
            <summary>
            Returns a flag if the tracking was successful or not on last tracking call
            </summary>
        </member>
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.FaceTrackFrame.Translation">
            <summary>
            Translation in X, Y, Z axes
            </summary>
        </member>
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.FaceTrackFrame.Scale">
            <summary>
            Returns face scale where 1.0 scale means that it is equal in size 
            to the loaded 3D model (in the model space)
            </summary>
        </member>
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.FaceTrackFrame.Status">
            <summary>
            Error code associated with the frame if the tracking failed
            </summary>
        </member>
        <member name="T:Microsoft.Kinect.Toolkit.FaceTracking.FaceTrackingRegisterDepthToColor">
            <summary>
            A declaration of the pointer to the function used for mapping Kinect's depth frame coordinates to video frame coordinates.
            By default the face tracking engine uses Kinect's depth to color frame mapping function when users do not pass a pointer to their custom version.
            </summary>
            <param name="depthFrameWidth">depth frame width</param>
            <param name="depthFrameHeight">depth frame height</param>
            <param name="colorFrameWidth">color frame width</param>
            <param name="colorFrameHeight">color frame height</param>
            <param name="zoomFactor">video frame zoom factor</param>
            <param name="viewOffset">video frame view offset in the native video camera frame defined by its left-top corner X,Y coordinates</param>
            <param name="depthX">X coordinate of the depth point to convert</param>
            <param name="depthY">Y coordinate of the depth point to convert</param>
            <param name="depthZ">distance in millimeters to the depth frame point defined by (depthX, depthY)</param>
            <param name="colorX">returned video frame X coordinate</param>
            <param name="colorY">returned video frame Y coordinate</param>
            <returns>S_OK if the method succeeds. E_INVALIDARG, E_POINTER if the method fails.</returns>
        </member>
        <member name="T:Microsoft.Kinect.Toolkit.FaceTracking.ErrorCode">
            <summary>
            Face Tracking Native Error Codes
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "T:Microsoft.Kinect.Toolkit.FaceTracking.OperationMode" -->
        <member name="T:Microsoft.Kinect.Toolkit.FaceTracking.FaceTrackingImageFormat">
            <summary>
            Image formats that the face tracker supports
            </summary>
        </member>
        <member name="T:Microsoft.Kinect.Toolkit.FaceTracking.IFTImage">
            <summary>
            IFTImage is a helper interface that can wrap various image buffers
            </summary>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.IFTImage.Allocate(System.UInt32,System.UInt32,Microsoft.Kinect.Toolkit.FaceTracking.FaceTrackingImageFormat)">
            <summary>
            Allocates memory for the image of passed width, height and format. The memory is owned by this interface and is released when the interface is released or 
            when another Allocate() call happens. Allocate() deallocates currently allocated memory if its internal buffers are not big enough to fit new image data. 
            If its internal buffers are big enough, no new allocation occurs. 
            </summary>
            <param name="width">Image width in pixels.</param>
            <param name="height">Image height in pixels.</param>
            <param name="format">Image format.</param>
            If the method succeeds, the return value is S_OK. If the method fails, the return value can be E_INVALIDARG, E_OUTOFMEMORY.
            STDMETHOD(Allocate)(THIS_ UINT width, UINT height, FaceTrackingImageFormat format) PURE;
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.IFTImage.Attach(System.UInt32,System.UInt32,System.IntPtr,Microsoft.Kinect.Toolkit.FaceTracking.FaceTrackingImageFormat,System.UInt32)">
            <summary>
            Attaches this interface to external memory pointed to by pData, which is assumed to be sufficiently large to contain an image of the given size and format. 
            The memory referenced by pData is not deallocated when this interface is released. The caller owns the image buffer in this case and is responsible for its lifetime management. 
            </summary>
            <param name="width">Image width in pixels.</param>
            <param name="height">Image height in pixels.</param>
            <param name="dataPtr">External image buffer.</param>
            <param name="format">Image format.</param>
            <param name="stride">Number of bytes between the beginning of two image rows (the image buffer could be aligned, so stride could be more than width*pixelSizeInBytes).</param>
            If the method succeeds, the return value is S_OK. If the method fails, the return value can be E_INVALIDARG, E_POINTER, E_OUTOFMEMORY.
            STDMETHOD(Attach)(THIS_ UINT width, UINT height, void* pData, FaceTrackingImageFormat format, UINT stride) PURE;
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.IFTImage.Reset">
            <summary>
            Frees internal memory and sets this image to the empty state (0 size)
            </summary>
            If the method succeeds, the return value is S_OK. If the method fails, the return value can be E_UNEXPECTED, E_POINTER, E_OUTOFMEMORY.
            STDMETHOD(Reset)(THIS) PURE;
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.IFTImage.GetWidth">
            <summary>Accessor to width of the image.</summary>
            <returns>Width of the image in pixel.</returns>
            STDMETHOD_(UINT, GetWidth)(THIS) PURE;
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.IFTImage.GetHeight">
            <summary>Accessor to height of the image.</summary>
            <returns>Height of the image in pixel.</returns>
            STDMETHOD_(UINT, GetHeight)(THIS) PURE;
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.IFTImage.GetStride">
            <summary>Accessor to stride of the image.</summary>
            <returns>Stride of the image.</returns>
            STDMETHOD_(UINT, GetStride)(THIS) PURE;
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.IFTImage.GetBytesPerPixel">
            <summary>Accessor to bytes per pixel of the image.</summary>
            <returns>Bytes per pixel of the image.</returns>
            STDMETHOD_(UINT, GetBytesPerPixel)(THIS) PURE;
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.IFTImage.GetBufferSize">
            <summary>Accessor to buffer size of the image.</summary>
            <returns>Size in bytes of the internal image buffer</returns>
            STDMETHOD_(UINT, GetBufferSize)(THIS) PURE;
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.IFTImage.GetFormat">
            <summary>Accessor to format of the image.</summary>
            <returns>Format of the image.</returns>
            STDMETHOD_(FaceTrackingImageFormat, GetFormat)(THIS) PURE;
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.IFTImage.GetBuffer">
            <summary>Accessor to format of the image.</summary>
            <returns>BYTE pointer to buffer.</returns>
            STDMETHOD_(BYTE*, GetBuffer)(THIS) PURE;
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.IFTImage.IsAttached">
            <summary>
            Accessor to the image buffer ownership state.
            </summary>
            True if this interface is attached to the external buffer, false - otherwise.
            STDMETHOD_(BOOL, IsAttached)(THIS) PURE;
            <returns>The attachment status.</returns>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.IFTImage.CopyTo(Microsoft.Kinect.Toolkit.FaceTracking.IFTImage,Microsoft.Kinect.Toolkit.FaceTracking.Rect@,System.UInt32,System.UInt32)">
            <summary>
            Non-allocating copy method. It copies this image data to pDestImage. It fails, if pDestImage doesn't have the right size or format. 
            If pDestImage has a different format, then this method attempts to convert pixels to pDestImage image format (if possible and supported).
            </summary>
            <param name="destImage">Destination image to copy data to.</param>
            <param name="srcRect">Source rectangle to copy data from in the source image (to support cut and paste operation). If NULL, the whole image gets copied.</param>
            <param name="destRow">Destination location (row) of the image data (to support cut and paste operation).</param>
            <param name="destColumn">Destination location (column) of the image data (to support cut and paste operation).</param>
            If the method succeeds, the return value is S_OK. If the method fails, the return value can be E_INVALIDARG, E_POINTER, E_OUTOFMEMORY.
            STDMETHOD(CopyTo)(THIS_ IFTImage* pDestImage, const RECT* pSrcRect, UINT destRow, UINT destColumn) PURE;
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.IFTImage.DrawLine(Microsoft.Kinect.Toolkit.FaceTracking.Point,Microsoft.Kinect.Toolkit.FaceTracking.Point,System.UInt32,System.UInt32)">
            <summary>
            Draws a line on the image.
            </summary>
            <param name="startPoint">Start point in image coordinates.</param>
            <param name="endPoint">End  point in image coordinates.</param>
            <param name="color">Line color in ARGB format (first byte is not used, second byte is red channel, third is green, fourth is blue)</param>
            <param name="lineWidthPx">Line width in pixels.</param>
            If the method succeeds, the return value is S_OK. If the method fails, the return value can be E_INVALIDARG.
            STDMETHOD(DrawLine)(THIS_ POINT startPoint, POINT endPoint, uint color, UINT lineWidthPx) PURE;
        </member>
        <member name="T:Microsoft.Kinect.Toolkit.FaceTracking.IFTFaceTracker">
            <summary>
            IFTFaceTracker is the main interface used for face tracking. An IFTFaceTracking object is created by using the FTCreateFaceTracker Function.
            </summary>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.IFTFaceTracker.Initialize(Microsoft.Kinect.Toolkit.FaceTracking.CameraConfig,Microsoft.Kinect.Toolkit.FaceTracking.CameraConfig,System.IntPtr,System.String)">
            <summary>Initializes an IFTFaceTracker instance.</summary>
            <param name="videoCameraConfig">Video camera configuration.</param>
            <param name="depthCameraConfig">Optional. Depth camera configuration. Not used if NULL is passed.</param>
            <param name="depthToColorMappingFunc">A pointer to the depth-to-color coordinates mapping function.</param>
            <param name="modelPath">Path to a directory that contains face model. This is optional parameter and if it's not set, default model will be used (this is default use case).</param>
            <returns>If the method succeeds, the return value is S_OK. If the method fails, the return value can be E_INVALIDARG, E_POINTER, FT_ERROR_INVALID_MODEL_PATH, FT_ERROR_INVALID_MODELS, E_OUTOFMEMORY</returns>
            STDMETHOD(Initialize)(THIS_ const FT_CAMERA_CONFIG* pVideoCameraConfig, const FT_CAMERA_CONFIG* pDepthCameraConfig, 
            FaceTrackingRegisterDepthToColor depthToColorMappingFunc, PCWSTR pszModelPath) PURE;
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.IFTFaceTracker.Reset">
            <summary>
            Resets the IFTFaceTracker instance to a clean state (the same state that exists after calling the Initialize() method).
            </summary>
            If the method succeeds, the return value is S_OK. If the method fails, the return value can be FT_ERROR_UNINITIALIZED.
            STDMETHOD(Reset)(THIS) PURE;
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.IFTFaceTracker.CreateFTResult(Microsoft.Kinect.Toolkit.FaceTracking.IFTResult@)">
            <summary>
            Creates a result object instance and returns its IFTResult interface. The returned interface refcount is incremented, 
            so after you use it, you must release it by calling Release(). 
            </summary>
            <param name="faceTrackResult">A returned interface pointer if successful; otherwise, NULL if it cannot create this instance.</param>
            <returns>If the method succeeds, the return value is S_OK. If the method fails, the return value can be FT_ERROR_UNINITIALIZED, E_POINTER.</returns>
            STDMETHOD(CreateFTResult)(THIS_ IFTResult** ppFTResult) PURE;
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.IFTFaceTracker.SetShapeUnits(System.Single,System.Single[],System.UInt32)">
            <summary>
            Sets shape units (SUs) that the face tracker uses for passed values. 
            </summary>
            <param name="scale">Head scale. Defined as headSize/averageHeadSize. Must be positive.</param>
            <param name="shapeUnitCoeffsPtr">Float array of SU coefficients.</param>
            <param name="shapeUnitCount">Number of elements in the pSUCoefs array.</param>
            If the method succeeds, the return value is S_OK. If the method fails, the return value can be FT_ERROR_UNINITIALIZED, E_INVALIDARG, E_POINTER.
            STDMETHOD(SetShapeUnits)(THIS_ FLOAT scale, const FLOAT* pSUCoefs, UINT suCount) PURE;
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.IFTFaceTracker.GetShapeUnits(System.Single@,System.IntPtr@,System.UInt32@,System.Boolean@)">
            <summary>
            Returns shape units (SUs) that the face tracker is using. If the passed ppSUCoefs parameter is NULL, it returns number of SUs used in the loaded face model.
            </summary>
            <param name="scale">A pointer to a head scale variable.</param>
            <param name="shapeUnitCoeffsPtr">A pointer to a float array of shape unit coefficients. The array must be large enough to contain all of the SUs for the loaded face model.</param>
            <param name="shapeUnitCount">Number of returned shape unit coefficients. This parameter is IN/OUT and must be initialized to the size of the *ppSUCoefs array when passed in.</param>
            <param name="haveConverged">true if shape unit coefficients converged to realistic values; otherwise, false (the SU coefficients are still converging).</param>
            If the method succeeds, the return value is S_OK. If the method fails, the return value can be FT_ERROR_UNINITIALIZED, E_INVALIDARG, E_POINTER.
            STDMETHOD(GetShapeUnits)(THIS_ FLOAT* pScale, FLOAT** ppSUCoefs, UINT* pSUCount, BOOL* pHaveConverged) PURE;
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.IFTFaceTracker.SetShapeComputationState(System.Boolean)">
            <summary>
            Sets the shape unit (SU) computational state. This method allows you to enable or disable 3D-shape computation in the face tracker. If enabled, the face tracker will continue to refine SUs. 
            </summary>
            <param name="isEnabled">true to enable SU computation, false to disable SU computation.</param>
            If the method succeeds, the return value is S_OK. If the method fails, the return value can be FT_ERROR_UNINITIALIZED.
            STDMETHOD(SetShapeComputationState)(THIS_ BOOL isEnabled) PURE;
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.IFTFaceTracker.GetComputationState(System.Boolean@)">
            <summary>
            Returns whether the shape unit (SU) computational state is enabled or disabled. If enabled, the face tracker continues refining the SUs. 
            </summary>
            <param name="isEnabled">A pointer to a variable that receives the returned value.</param>
            If the method succeeds, the return value is S_OK. If the method fails, the return value can be FT_ERROR_UNINITIALIZED, E_POINTER.
            STDMETHOD(GetShapeComputationState)(THIS_ BOOL* pIsEnabled) PURE;
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.IFTFaceTracker.GetFaceModel(Microsoft.Kinect.Toolkit.FaceTracking.IFTModel@)">
            <summary>
            Returns an IFTModel Interface interface to the loaded face model. The returned interface refcount is incremented, so after you use it, 
            you must release it by calling Release(). 
            </summary>
            <param name="model">A returned interface pointer if successful; otherwise, NULL if it cannot create this instance.</param>
            If the method succeeds, the return value is S_OK. If the method fails, the return value can be FT_ERROR_UNINITIALIZED, E_POINTER.
            STDMETHOD(GetFaceModel)(THIS_ IFTModel** ppModel) PURE;
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.IFTFaceTracker.StartTracking(Microsoft.Kinect.Toolkit.FaceTracking.FaceTrackingSensorData@,Microsoft.Kinect.Toolkit.FaceTracking.Rect@,Microsoft.Kinect.Toolkit.FaceTracking.HeadPoints,Microsoft.Kinect.Toolkit.FaceTracking.IFTResult)">
            <summary>
            Starts face tracking. StartTracking() detects a face based on the passed parameters, then identifies characteristic points and begins tracking. 
            This process is more expensive than simply tracking (done by calling ContinueTracking()), but more robust. Therefore, if running at a high frame rate 
            you should only use StartTracking() to initiate the tracking process, and then you should use ContinueTracking() to continue tracking. 
            If the frame rate is low and the face tracker cannot keep up with fast face and head movement (or if there is too much motion blur), 
            you can use StartTracking() solely (instead of the usual sequence of StartTracking(), ContinueTracking(), ContinueTracking(), and so on). 
            </summary>
            <param name="sensorData">Input from the video and depth cameras (depth is optional).</param>
            <param name="roi">Optional, NULL if not provided. Region of interest in the passed video frame where the face tracker should search for a face to initiate tracking.</param>
            <param name="headPoints">
            Optional, NULL if not provided. Array that contains two 3D points in camera space if known (for example, from a Kinect skeleton). 
            The first element is the neck position and the second element is the head center position. 
            The camera space is defined as: right handed, the origin at the camera optical center; Y points up; units are in meters. 
            </param>
            <param name="faceTrackResult">IFTResult Interface pointer that receives computed face tracking results.</param>
            <returns>If the method succeeds, the return value is S_OK. If the method fails due to programmatic errors, the return value can be FT_ERROR_UNINITIALIZED, E_INVALIDARG, E_POINTER.
            To check if the face tracking was successful, you should call IFTResult::GetStatus() method.
            </returns>
            STDMETHOD(StartTracking)(THIS_ const FaceTrackingSensorData* pSensorData, const RECT* pRoi, const FT_VECTOR3D headPoints[2], IFTResult* pFTResult) PURE;
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.IFTFaceTracker.ContinueTracking(Microsoft.Kinect.Toolkit.FaceTracking.FaceTrackingSensorData@,Microsoft.Kinect.Toolkit.FaceTracking.HeadPoints,Microsoft.Kinect.Toolkit.FaceTracking.IFTResult)">
            <summary>
            Continues the face tracking process that was initiated by StartTracking(). This method is faster than StartTracking() and is used only for tracking. 
            If the face being tracked moves too far from the previous location (for example, when the input frame rate is low), this method fails. 
            </summary>
            <param name="sensorData">Input from the video and depth cameras (depth is optional).</param>
            <param name="headPoints">
            Optional, NULL if not provided. Array that contains two 3D points in camera space if known (for example, from a Kinect skeleton). 
            The first element is the neck position and the second element is the head center position. 
            The camera space is defined as: right handed, the origin at the camera optical center; Y points up; units are in meters. 
            </param>
            <param name="faceTrackResult">IFTResult Interface pointer that receives computed face tracking results.</param>
            <returns>If the method succeeds, the return value is S_OK. If the method fails due to programmatic errors, the return value can be FT_ERROR_UNINITIALIZED, E_INVALIDARG, E_POINTER.
            To check if the face tracking was successful, you should call IFTResult::GetStatus() method.
            </returns>
            STDMETHOD(ContinueTracking)(THIS_ const FaceTrackingSensorData* pSensorData, const FT_VECTOR3D headPoints[2], IFTResult* pFTResult) PURE;
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.IFTFaceTracker.DetectFaces(Microsoft.Kinect.Toolkit.FaceTracking.FaceTrackingSensorData@,Microsoft.Kinect.Toolkit.FaceTracking.Rect@,System.IntPtr,System.UInt32@)">
            <summary>
            Detects faces in the provided video frame. It returns an array of faces and the detection confidence level for each face. 
            The confidence level is a value between 0 and 1 (where 0 is the lowest and 1 is highest). 
            </summary>
            <param name="sensorData">Input from the video and depth cameras (currently, depth input is ignored).</param>
            <param name="roi">
            Optional, NULL if not provided. Region of interest in the video frame where the detector must look for faces. 
            If NULL, the detector uses the full frame.
            </param>
            <param name="faces">Returned array of weighted face rectangles (where weight is a detection confidence level).</param>
            <param name="facesCount">On input, it must have a size of the pFaces array. On output, it contains the number of faces detected and returned in pFaces.</param>
            <returns>If the method succeeds, the return value is S_OK. If the method fails, the return value can be FT_ERROR_UNINITIALIZED, E_INVALIDARG, E_POINTER, or FT_ERROR_FACE_DETECTOR_FAILED.</returns>
            STDMETHOD(DetectFaces)(THIS_ const FaceTrackingSensorData* pSensorData, const RECT* pRoi, FT_WEIGHTED_RECT* pFaces, UINT* pFaceCount) PURE;
        </member>
        <member name="T:Microsoft.Kinect.Toolkit.FaceTracking.NativeMethods">
            <summary>
            P/Invoke methods to instantiate native objects of face tracking engine
            </summary>
        </member>
        <member name="T:Microsoft.Kinect.Toolkit.FaceTracking.CameraConfig">
            <summary>
            Contains the video or depth camera configuration parameters.
            </summary>
        </member>
        <member name="F:Microsoft.Kinect.Toolkit.FaceTracking.CameraConfig.MaxResolution">
            <summary>
            Max width or height of the camera input frames in pixels supported by FT API. This allows to use cameras up to 256 megapixels. 
            </summary>
        </member>
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.CameraConfig.Width">
            <summary>
            Width in pixels, allowed range - 1-MaxResolution
            </summary>
        </member>
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.CameraConfig.Height">
            <summary>
            Height in pixels, allowed range - 1-MaxResolution
            </summary>
        </member>
        <member name="T:Microsoft.Kinect.Toolkit.FaceTracking.SensorData">
            <summary>
            Contains input data for a face tracking operation.
            </summary>
        </member>
        <member name="T:Microsoft.Kinect.Toolkit.FaceTracking.Image">
            <summary>
            Image class represents an image used by the face tracked. Users can
            either attach this class to their image buffers or to fill this
            reference with image data (in which case it owns the data buffer memory)
            </summary>
        </member>
        <member name="F:Microsoft.Kinect.Toolkit.FaceTracking.Image.bufferManagement">
            <summary>
            buffer management policy
            </summary>
        </member>
        <member name="F:Microsoft.Kinect.Toolkit.FaceTracking.Image.disposed">
            <summary>
            have we been disposed or not
            </summary>
        </member>
        <member name="F:Microsoft.Kinect.Toolkit.FaceTracking.Image.faceTrackingImagePtr">
            <summary>
            native interop interface
            </summary>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.Image.#ctor">
            <summary>
            Initializes a new instance of the Image class
            </summary>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.Image.Finalize">
            <summary>
            Finalizes an instance of the <see cref="T:Microsoft.Kinect.Toolkit.FaceTracking.Image"/> class. 
            </summary>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.Image.FormatToSize(Microsoft.Kinect.Toolkit.FaceTracking.FaceTrackingImageFormat)">
            <summary>Get the bytes per pixel count for a FaceTrackingImageFormat</summary>
            <param name="format">The format.</param>
            <returns>the size</returns>
            <exception cref="T:System.ArgumentException">invalid format</exception>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.Image.Allocate(System.UInt32,System.UInt32,Microsoft.Kinect.Toolkit.FaceTracking.FaceTrackingImageFormat)">
            <summary>
            Allocates memory for the provided image width, height and format.
            The memory is owned by this instance and is released when the
            instance is disposed or when another Allocate() call happens.
            This method deallocates currently allocated memory if its internal
            buffers are not enough to fit new image data. If its internal
            buffers are big enough, no new allocation happens
            </summary>
            <param name="width">
            image width in pixels 
            </param>
            <param name="height">
            image height in pixels 
            </param>
            <param name="format">
            image format 
            </param>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.Image.Attach(System.UInt32,System.UInt32,System.IntPtr,Microsoft.Kinect.Toolkit.FaceTracking.FaceTrackingImageFormat,System.UInt32)">
            <summary>
            Attaches this instance to external native memory pointed to by
            imageData, which is assumed to be sufficiently large to contain
            an image of the given size and format. The memory referenced by
            imageData will not be deallocated when this instance is released.
            The caller owns the image buffer in this case and is responsible
            for its lifetime management.
            </summary>
            <param name="width">
            image width in pixels 
            </param>
            <param name="height">
            image height in pixels 
            </param>
            <param name="imageDataPtr">
            external image buffer 
            </param>
            <param name="format">
            image format 
            </param>
            <param name="stride">
            stride of the image 
            </param>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.Image.CopyFrom``1(``0[])">
            <summary>
            Copies the data from input source array to the native memory
            </summary>
            <typeparam name="T">
            Input data type - can be short(Depth) or byte(color) 
            </typeparam>
            <param name="srcData">
            Input source data. The size of the buffer should not be greater than
            native buffer size allocated 
            </param>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.Image.Dispose">
            <summary>
            Disposes the instance and cleans up native references
            </summary>
        </member>
        <member name="M:Microsoft.Kinect.Toolkit.FaceTracking.Image.CheckPtrAndThrow">
            <summary>
            Makes sure we have a valid image pointer.
            </summary>
            <exception cref="T:System.InvalidOperationException">internal pointer was null</exception>
        </member>
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.Image.BufferPtr">
            <summary>
            Pointer to native memory to access raw data
            </summary>
        </member>
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.Image.BufferSize">
            <summary>
            Size of the image data
            </summary>
        </member>
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.Image.ImagePtr">
            <summary>
            Native image pointer
            </summary>
        </member>
        <member name="T:Microsoft.Kinect.Toolkit.FaceTracking.Image.BufferManagement">
            <summary>
            Buffer management policies
            </summary>
        </member>
        <member name="F:Microsoft.Kinect.Toolkit.FaceTracking.Image.BufferManagement.None">
            <summary>
            Not set
            </summary>
        </member>
        <member name="F:Microsoft.Kinect.Toolkit.FaceTracking.Image.BufferManagement.LocalNativeImage">
            <summary>
            We own the memory.
            </summary>
        </member>
        <member name="F:Microsoft.Kinect.Toolkit.FaceTracking.Image.BufferManagement.External">
            <summary>
            The memory is handled externally
            </summary>
        </member>
        <member name="T:Microsoft.Kinect.Toolkit.FaceTracking.AnimationUnit">
            <summary>
            Indices for Animation Units Coefficients
            </summary>
        </member>
        <member name="T:Microsoft.Kinect.Toolkit.FaceTracking.FeaturePoint">
            <summary>
            Indices for feature points in 3D shape and projected 3D shape with
            descriptive names to identify them easily
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "T:Microsoft.Kinect.Toolkit.FaceTracking.PointF" -->
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.PointF.Empty">
            <summary>
            Gets an point with 0,0 co-ordinates
            </summary>
        </member>
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.PointF.X">
            <summary>
            Returns X co-ordinate
            </summary>
        </member>
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.PointF.Y">
            <summary>
            Returns Y co-ordinate
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "T:Microsoft.Kinect.Toolkit.FaceTracking.Point" -->
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.Point.Empty">
            <summary>
            Gets an point with 0,0 co-ordinates
            </summary>
        </member>
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.Point.X">
            <summary>
            Returns X co-ordinate
            </summary>
        </member>
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.Point.Y">
            <summary>
            Returns Y co-ordinate
            </summary>
        </member>
        <member name="T:Microsoft.Kinect.Toolkit.FaceTracking.Rect">
            <summary>
            Represents a rectangle in 2D space
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "P:Microsoft.Kinect.Toolkit.FaceTracking.Rect.Empty" -->
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.Rect.Left">
            <summary>
            Left bound of the rectangle
            </summary>
        </member>
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.Rect.Top">
            <summary>
            Top bound of the rectangle
            </summary>
        </member>
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.Rect.Right">
            <summary>
            Right bound of the rectangle
            </summary>
        </member>
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.Rect.Bottom">
            <summary>
            Bottom bound of the rectangle
            </summary>
        </member>
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.Rect.Width">
            <summary>
            Width of the rectangle
            </summary>
        </member>
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.Rect.Height">
            <summary>
            Height of the rectangle
            </summary>
        </member>
        <member name="T:Microsoft.Kinect.Toolkit.FaceTracking.Vector3DF">
            <summary>
            Represents a 3D vector with x,y,z elements
            </summary>
        </member>
        <member name="T:Microsoft.Kinect.Toolkit.FaceTracking.FaceTriangle">
            <summary>
            Represents a mesh triangle with i,j,k vertex indexes
            </summary>
        </member>
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.FaceTriangle.First">
            <summary>
            Index of the first vertex
            </summary>
        </member>
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.FaceTriangle.Second">
            <summary>
            Index of the second vertex
            </summary>
        </member>
        <member name="P:Microsoft.Kinect.Toolkit.FaceTracking.FaceTriangle.Third">
            <summary>
            Index of the third vertex
            </summary>
        </member>
    </members>
</doc>
